using System;

namespace AuthorizeNET {
	public class ShippingDetails : INameValueSerializable {
		public string first_name, last_name, company, address, city, state, zip, country;

		public ShippingDetails(string first_name, string last_name, string company, string address, string city, string state, string zip, string country) {
			this.first_name = first_name;
			this.last_name = last_name;
			this.company = company;
			this.address = address;
			this.city = city;
			this.state = state;
			this.zip = zip;
			this.country = country;
		}

		[KeyName("x_ship_to_first_name")]
		public string FirstName {
			get { return (this.first_name); }
			set { this.first_name = value; }
		}

		[KeyName("x_ship_to_last_name")]
		public string LastName {
			get { return (this.last_name); }
			set { this.last_name = value; }
		}

		[KeyName("x_ship_to_company")]
		public string Company {
			get { return (this.company); }
			set { this.company = value; }
		}

		[KeyName("x_ship_to_address")]
		public string Address {
			get { return (this.address); }
			set { this.address = value; }
		}

		[KeyName("x_ship_to_city")]
		public string City {
			get { return (this.city); }
			set { this.city = value; }
		}

		[KeyName("x_ship_to_state")]
		public string State {
			get { return (this.state); }
			set { this.state = value; }
		}

		[KeyName("x_ship_to_zip")]
		public string Postal {
			get { return (this.zip); }
			set { this.zip = value; }
		}

		[KeyName("x_ship_to_country")]
		public string Country {
			get { return (this.country); }
			set { this.country = value; }
		}
	}
}
